<?php
/**
 * @author ql
 * @version 2013-11-10
 * @package messenger
 * @description 亿美软通短信发送
 */

class b2c_messenger_smsym{
    /**
     * @description 短信发送
     * @access public
     * @param void
     * @return void
     */
    public function send($contents,$config,&$msg) {
        $b2c_app = app::get('b2c');
        //序列号
        $sms_code = array();
        $sms_code['account'] = $b2c_app->getConf('sms_code_num');
        $sms_code['pswd'] = $b2c_app->getConf('sms_code_psw');
        $sms_code['sessionKey'] = $b2c_app->getConf('sms_code_key');

        if(empty($sms_code)){
            $msg=app::get('b2c')->_('接口参数配置错误');
            return false;
        }

        if(!$contents){
            $msg=app::get('b2c')->_('手机短信不能为空！');
            return false;
        }

        $phones = $contents[0]['phones'];
        $message = $contents[0]['content'];

        $smsObj = kernel::single('sms_operating',json_encode($sms_code));

        $result = $smsObj->sendSMS($phones,$message);
        $result = strstr($result,',');
        $result = substr($result,1);

        $err_msg = array(

                '101'=>'无此用户',
                '102'=>'密码错',
                '103'=>'提交过快（提交速度超过流速限制）',
                '104'=>'系统忙（因平台侧原因，暂时无法处理提交的短信）',
                '105'=>'敏感短信（短信内容包含敏感词）',
                '106'=>'消息长度错（>536或<=0）',
                '107'=>'包含错误的手机号码',
                '108'=>'手机号码个数错（群发>50000或<=0;单发>200或<=0）',
                '109'=>'无发送额度（该用户可用短信数已使用完）',
                '110'=>'不在发送时间内',
                '111'=>'超出该账户当月发送额度限制',
                '112'=>'无此产品，用户没有订购该产品',
                '113'=>'extno格式错（非数字或者长度不对）',
                '115'=>'自动审核驳回	自动审核驳回',
                '116'=>'签名不合法，未带签名（用户必须带签名的前提下）',
                '117'=>'IP地址认证错,请求调用的IP地址不是系统登记的IP地址',
                '118'=>'没有发送权限的一般原因是因为：使用了短信单发接口而不是短信群发接口	用户没有相应的发送权限',
                '119'=>'用户已过期'

        );

        if($result == '0') {
            $msg = app::get('b2c')->_('短信发送成功！');
            return true;
        }elseif(isset($err_msg[$result])){
            $msg = $err_msg[$result];
            return false;
        }
        $msg = app::get('b2c')->_('短信发送失败！');
        return false;
    }

    /**
     * @description 获取免登录地址
     * @access public
     * @param void
     * @return void
     */
    public function getSmsBuyUrl() {
        $url = "index.php?app=sms&ctl=admin_sms&act=showUrl";
        return $url;
    }

}
?>
